package map02;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
/**
 * HashMap<K,V>遍历(迭代):
 *   由于map体系没有继承Iterable接口,也就没有获取迭代器的方法,就不能直接通过迭代器遍历
 *   所以考虑将Map双列集合转换成单列集合,利用迭代器遍历
 * 第一种遍历方式:
 *    Set<K> keySet():将所有map集合中所有的key放入一个Set集合中,然后返回这个集合
 */
public class HashMapDemo01 {
    public static void main(String[] args) {
        //method01();
        HashMap<String, String> hm = new HashMap<>();
        hm.put("无忌", "赵敏");
        hm.put("乔峰", "阿朱");
        hm.put("段誉", "王语嫣");

        //Set<String> keys = hm.keySet();
        for (String key : hm.keySet()) {
            System.out.println(key + "=" + hm.get(key));
        }
    }

    private static void method01() {
        HashMap<String, String> hm = new HashMap<>();
        hm.put("无忌", "赵敏");
        hm.put("乔峰", "阿朱");
        hm.put("段誉", "王语嫣");

        //1.调用keySet()返回所有的key
        Set<String> keys = hm.keySet();
        //2.利用迭代器遍历Set集合中所有的key
        for (Iterator<String> iterator = keys.iterator(); iterator.hasNext(); ) {
            String key = iterator.next();
            String value = hm.get(key);
            System.out.println(key + "=" + value);
        }
    }
}
